
// headers from this project
#include "abstract_factory.hpp"

// headers from standard libraries
#include <iostream>

void DesignPatterns::motif_button::draw()
{
	std::cout << "Motif Button " << std::endl;
}

void DesignPatterns::motif_menu::draw()
{
	std::cout << "Motif Menu " << std::endl;
}

void DesignPatterns::window_button::draw()
{
	std::cout << "Window Button " << std::endl;
}

void DesignPatterns::window_menu::draw()
{
	std::cout << "Window Menu " << std::endl;
}

DesignPatterns::widget* DesignPatterns::motif_factory::create_button()
{
	return new motif_button;
}

DesignPatterns::widget* DesignPatterns::motif_factory::create_menu()
{
	return new motif_menu;
}

DesignPatterns::widget* DesignPatterns::window_factory::create_button()
{
	return new window_button;
}

DesignPatterns::widget* DesignPatterns::window_factory::create_menu()
{
	return new window_menu;
}

